package spectra.ee.web.node.service;

import java.sql.SQLException;
import java.util.Hashtable;
import java.util.List;

import spectra.base.log.Logger;
import spectra.ee.web.node.model.Node;

/**
 * 노드 관련 클래스.
 *
 * @author kwlee
 */
public class NodeWebService extends NodeServiceBase
{

    /** Logger객체. */
    private static Logger logger = Logger.getLoggerInstance(NodeWebService.class.getName());

    /**
    * <pre>
    * 노드리스트를 가져오는 메소드. json 형태로 보낸다.
    * </pre>
    *
    * @param Node nodeId, parentNodeId, serviceType 3개의 파라메터 값으로 Node 리스트를 가져오다.
    * 
    * @return 부모아이디로 가져온 노드객체 리스트.
    */
    public List selectNodeList(Node node)
    {
        List listRet = null;
        
        try
        {
            listRet = (List) sqlMap.queryForList("Node.selectWebServiceNodeList", node);
        }
        catch (SQLException e)
        {
            logger.error(e.getMessage());
            e.printStackTrace();
        }
        return listRet;
    }
    /**
     * 부모아이디로 부터 특정 레벨까지 하위 노드리스트를 가져오는 메소드
     * 
     * @param node 부모노드 아이디와 레벨, 서비스 타입 정보를 포함한 Node 객체
     * @return 
     */
    public Hashtable selectChildNodeListToLevel(Node node)
    {
    	return selectChildNodeListToLevel(node.getParentId(), node.getLevel(), node.getServiceType());
    }
}
